<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <link rel="stylesheet" href="./css/index.css"/>
    <title>记事本</title>
</head>
<body>

<!-- 主体区域 -->
<section id="app">
    <!-- 输入框 -->
    <header class="header">
        <h1>小黑记事本</h1>
        <input @keyup.enter="add" v-model="todoName" placeholder="请输入任务" class="new-todo"/>
        <button class="add" @click="add">添加任务</button>
    </header>
    <!-- 列表区域 -->
    <section class="main">
        <ul class="todo-list">
            <li class="todo" v-for="(item,index) in list" :key="item.id">
                <div class="view">
                    <span class="index">{{index + 1}}.</span> <label>{{item.name}}</label>
                    <button class="destroy" @click="del(item.id)"></button>
                </div>
            </li>
        </ul>
    </section>
    <!-- 统计和清空，如果没有任务，底部需要隐藏 -->
    <footer class="footer" v-show="list.length>0">
        <!-- 统计 -->
        <span class="todo-count">合 计:<strong> {{list.length}} </strong></span>
        <!-- 清空 -->
        <button @click="clear" class="clear-completed">
            清空任务
        </button>
    </footer>
</section>

<!-- 底部 -->
<script src="./vue.js"></script>
<script>

    const app = new Vue({
        el: '#app',
        data: {
            todoName: "",
            list: [
                {id: 1, name: "跑步一公里"},
                {id: 2, name: "吃饭三大碗"},
                {id: 3, name: "跳绳200次"},
            ]
        },
        methods: {
            del(id) {
                this.list = this.list.filter(item => item.id !== id)
            },
            add() {
                if (this.todoName.trim() === "") {
                    alert("添加任务不能为空！！！")
                    return
                }
                this.list.unshift({
                    id: +new Date(),
                    name: this.todoName
                })
                this.todoName = ""
            },
            clear() {
                this.list = []
            }
        }
    })

</script>
</body>
</html>
